Tools for Collaboration & Reproducibility

GOM IEA Meeting
New Orleans, LA
Jan 2023

GitHub

What is GitHub?


Git is software that does file versions and bookkeeping.

GitHub is an online collaborative platform using Git

How is GitHub Organized?

Users: Each person makes their own GitHub account

  • NOAA naming convention is FirstLast-NOAA (i.e. BrittanyTroast-NOAA)

Organizations: Individual accounts can be added to organizations for collaborative projects

  • Acts like a personal account that some or all members can control (can alter permissions)

How is GitHub organized?

Repos (Repositories)

  • Folders that contain files like data, code, reports, images, formatting files, read me etc.

  • Can be in a personal account or in an organization’s account


GitHub: Projects

  • Customize lists
  • Assign tasks to people
  • Add due dates
  • Link issue threads
  • Categorize with milestones

GitHub: Issues (Discussion Thread)

  • Any member can create a new issue
  • Issues can be searched and categorized
  • Can close issues once a resolution is reached

GitHub: Issues (Discussion Thread)

  • Can tag/assign to people within the thread

  • Timeline of actions included in thread

  • Notifications go to those tagged or whoever has notifications on

  • Can add to projects

Publishing Platform

Publish Websites

  • Use templates to quickly make websites hosted by GitHub

Automatically update reports/websites for up-to-date results


West Florida Shelf Bulletin

by Brendan Turley

How is GitHub organized?

Commits

  • Commits are how someone edits or changes the files in the repo

  • Each new commit is tracked so that previous versions can be accessed

Quarto

What is Quarto?

Quarto is a file format (.qmd) that is the next evolution to R Markdown files.

Allows you to create, convert, and publish documents, presentations, websites, books and more.

How does Quarto work?

Allows you to switch between Source and Visual view while creating

How does Quarto work?

Allows you to switch between Source and Visual view while creating

Enhances Reproducibility & Collaboration

  • Update reports/documents/presentations by rerunning code with new data or automating data retrieval

  • Host newest versions of reports on GitHub immediately with same link so always receiving updated version

  • Built in version control

  • Organization members can submit edits easily in GitHub and can be reviewed by other members

Examples

  • Formats are not only useful for final products (websites, papers, etc.) but also for sharing code and results while working through a project

Discussion Questions




If you are already using these tools (or similar) what do you find works best and would be most useful to the work we are doing?



What are the barriers for you and your colleagues to adopt this workflow?



What are some solutions to these barriers?




How do we organize our workflow to make it more cohesive across groups and projects?




How can we make our meetings more efficient?